<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>PPTV4Douban</title>
</head>
<body>
<script>
      /**
       * Performs an XMLHttpRequest to Twitter's API to get trending topics.
       * @param callback Function If the response from fetching url has a
       *     HTTP status of 200, this function is called with a JSON decoded
       *     response.  Otherwise, this function is called with null.
       */
      function sendRequest(url, callback) {
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function(data) {
          if (xhr.readyState == 4) {
            if (xhr.status == 200) {
              callback(xhr.responseText);
            } else {
              callback(null);
            }
          }
        }
        // Note that any URL fetched here must be matched by a permission in
        // the manifest.json file!
        xhr.open('GET', url, true);
        xhr.send();
      };

      /**
       * Handles data sent via chrome.extension.sendRequest().
       * @param request Object Data sent in the request.
       * @param sender Object Origin of the request.
       * @param callback Function The method to call when the request completes.
       */
      function onRequest(request, sender, callback) {
          sendRequest(request.url, callback);
      };

      // Wire up the listener.
      chrome.extension.onRequest.addListener(onRequest);
    </script>
</body>